<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>vue的组件化</title>
		<script src="../vue@3.2.23.js"></script>
	</head>
	<body>
		<div id="app">
			<!-- 计数器：{{count}} -->
			<counter></counter>
			<message></message>
			<hello-world></hello-world>
		</div>
	</body>
</html>

<script>
	// 什么是组件
	// 如何创建组件：1.全局组件，2.局部组件
	// 全局组件，性能比较低，任何地方都能用，局部组件必须注册才能用，
	
	// 创建局部组件
	const counter = {
		data(){
			return{
				count:0
			}
		},
		methods: {
			countAdd() {
				this.count++
			}
		},
		template:`<div @click="countAdd">计数器：{{count}}</div>`
	}
	const message = {
		data(){
			return{
				msg:'我是一个消息组件'
			}
		},
		methods: {
			
		},
		template:`<div>提示：{{msg}}</div>`
	}
	
	const helloWorld = {
		template:`<div>helloWorld</div>`
	}
	const app = Vue.createApp({
		// 注册局部组件
		components:{
			// vue在做组件注册时，驼峰命名的映射为“-”连接符
			counter,message,"hello-world":helloWorld
		},
		data() {
			return{
				count:0
			}
		},
		methods:{
			
		}
	});
	
	// 创建全局组件
	// app.component("counter",{
	// 	data() {
	// 		return{
	// 			count:0
	// 		}
	// 	},
	// 	methods:{
	// 		countAdd(){
	// 			this.count++
	// 		}
	// 	},
	// 	mounted(){
			
	// 	},
	// 	template:`<div @click="countAdd">计数器：{{count}}</div>`
	// })
	const vm = app.mount("#app")
</script>